/**
 * @version:	 		    2016.11.01
 * @createTime: 	 		2016.11.23
 * @updateTime: 			2016.11.23
 * @author:				    wuwg
 * @description             main.js ,所有js入口文件
 */
(function () {
    //  js 的路径=>所有模块的查找根路径
    var  baseUrl='../js/';
    // 防止浏览器缓存main.js，所用用时间戳加载 version.js
    require([baseUrl+'version.js'+'?'+new Date().getTime()],function (version) {

        //  require 配置文件
        require.config({
            urlArgs:'version='+version.version,
            baseUrl:baseUrl,
            paths:{
                /**
                 * lib
                 */
                //  dom 操作库=>jquery
                jquery:'lib/jquery/jQuery.v1.11.1.min', //  jquery采用的amd 模块命名， jquery这个名字不可更改
                //  mvvm 库  => angular
                vue:'lib/vue/vue',
                //  图标操作库=>echarts
                echarts:'lib/echarts/echarts-all',
                // scrollbar 滚动条插件
                scrollbar:'lib/plugin/scrollbar',
                // 树插件
                tree:'lib/plugin/tree.min',
                /*
                 * app
                 */
                //  设置字体大小
                setHtml:'app/common/setHtml',
                global:'app/common/global',
                 //  下面通用的模块名字不要修改，后期合并会有用
                 /**
                 *前台代码值对应表
                 */
                 // fdDataTable:'app/dataTable/fdDataTable',
                 /**
                 *通用过滤器
                 */
                 // fdFilter:'app/filter/fdFilter',
                 /**
                 *通用指令
                 */
                 // fdDirective:'app/directive/fdDirective',
                /**
                 *通用组件
                 */
                 // fdComponent:'app/component/fdComponent',
                /**
                 * 各个模块 js
                 * //模块划分
                 */
                //  下拉树
                appIndexTree:'app/index/appIndexTree' ,//  单独的模块
                 // 流程图
                // appIndexLct:'app/index/appIndexLct', //  单独的模块
                // 首页底部区域
                // appIndexBottomArea:'app/index/appIndexBottomArea'//  单独的模块

            },
            //为那些没有使用define()来声明依赖关系
            shim:{
                // angular  fdFilter   自定义的通用filter模块
                // 'fdFilter' : {
                //     deps : ['vue'] // 依赖的模块
                // },
                // angular  fdDirective   自定义的通用directive模块
                'fdDirective' : {
                    deps : ['vue'] // 依赖的模块
                },
                // angular  fdDirective   自定义的通用directive模块
                // 'fdComponent' : {
                //     deps : ['vue'] // 依赖的模块
                // },
                // scrollbar  滚动条插件
                'scrollbar':{
                    deps: ['jquery']
                },
                // scrollbar  滚动条插件
                'tree':{
                    deps: ['jquery']
                },
                // scrollbar  滚动条插件
                'setHtml':{
                    deps: ['jquery']
                }
            },
            //在map中支持“*”，意思是“对于所有的模块加载，使用本map配置”。
            // 如果还有更细化的map配置，会优先于“*”配置。示例：
            map: {
                '*': {
                    'jquery': 'lib/jquery/jQuery.v1.11.1.min'
                },

                // 除了 oldModule 外的所有模块会会用 jQuery.v1.11.1.min，而 oldmodule 会用 jQuery.v1.1.7.min
                'oldmodule': {
                    'jquery': 'lib/jquery/jQuery.v1.1.7.min'
                }
            },
            waitSeconds:0  //加载超时问题的一个解决方法0表示不设置超时，默认是7s
        });


        // 模块的入口
        require(['global','config','setHtml'], function (global,config,setHtml) {
            setHtml({
                visualWidth:1440,
                countWidth:true
            });
            // 设置一个全局对象 global+ fd
            window.globalFd={
                // ajax超时加载
                ajaxTimer:null,
                // 超时时间
                ajaxTimeout:5000
            };
            // 正在加载数据
            global.loading();
            // 获取js路径
            var url = config.dirJsPath,jsurl = $('body').data('js');
            //如果存在js路径，那么就加载该js
            if (jsurl) {
                require([url + jsurl], function () {
                    if(!/index/ig.test(jsurl)){
                        global.removeLoading();
                    }
                });
            }
        });
    });
})();

